package org.huangrui.spark.scala.core.rdd.operate

import org.apache.spark.{SparkConf, SparkContext}

/**
 * @Author hr
 * @Create 2024-10-16 17:25 
 */
object Spark02_Operate_Transform_Map {
  def main(args: Array[String]): Unit = {
    val conf = new SparkConf().setMaster("local[*]").setAppName("spark")
    val sc = new SparkContext(conf)
    val nums = List(1, 2, 3, 4, 5, 6)
    // TODO RDD的方法
    // 【1，2】【3，4】【5,6】
    val rdd = sc.parallelize(nums, 2)
    // TODO RDD的转换方法：map
    //      对单值数据进行处理
    // map : 映射 （K -> V）, 将A(K)转换为B(V)
    //       将指定对值转换为其他的值的场合
    //       [1,2,3,4] => [2,4,6,8]
    //       学习方法重点：1. 名字，2. IN, 3. OUT

    // TODO map方法的作用就是将传入的A转换为B返回，但是没有限制A和B的关系。
    val newRdd = rdd.map((x: Int) => x * 2)

    newRdd foreach(println)
    sc.stop()
  }
}
